package com.example.codegenerator.service;

import com.example.codegenerator.common.model.dto.TableLoadDTO;

import java.util.Map;

/**
 * 数据提取 业务逻辑层
 *
 * @author lvshengyu
 * @date 2023/8/17
 */
public interface DatabaseService {
    /**
     * 获取查询SQL
     *
     * @param tableLoadDTO 数据表查询对象
     * @return
     */
    Map<String, String> getSelectSql(TableLoadDTO tableLoadDTO);

    /**
     * 获取数据表信息SQL
     *
     * @param tableName 数据表名称
     * @return
     */
    String getTableInfoSql(String tableName);

    /**
     * 获取数据表描述信息SQL
     *
     * @param tableName 数据表名称
     * @return
     */
    String getTableCommentSql(String tableName);

    /**
     * 获取当前库所有数据表字段信息SQL
     *
     * @param tableNames 读取到的数据库名称 （格式 'a','b','……'）
     * @return
     */
    String getTableInfoColumnsSql(String tableNames);
}
